home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 22 / Cream of the Crop 22.iso / os2 / ftree11a.zip / BIRTHDAY.FTX < prev    next >
Text File  |  1996-10-30  |  3KB  |  115 lines

  1. /*
  2.    Family Tree Rexx Script FTX
  3.  
  4.    Copyright (C) 1996 by <Nils Meier>
  5.  
  6.    Please send comments to / Kommentar bitte an
  7.         meier2@athene.informatik.uni-bonn.de
  8.  
  9.    <
  10.    English:   This script shows all birthdays of every person in the tree       :English
  11.    Deutsch:   Dieses Skript zeigt alle Geburtstage der Menschen im Stammbaum    :Deutsch
  12.    Nederlands:This script shows all birthdays of every person in the tree       :Nederlands
  13.    Francais:  Ce script affiche la date de naissance de toutes les personnes de
  14.               l'arbre généalogique et l'age qu'ils auraient actuellement.       :Francais
  15.    >
  16.  
  17.    Long name is <
  18.                  English:    List of Birthdays            :English
  19.                  Deutsch:    Liste der Geburtstage        :Deutsch
  20.                  Nederlands: List of Birthdays            :Nederlands
  21.                  Francais:   Imprime la date de naissance :Francais
  22.                 >
  23. */
  24.  
  25.  
  26. /* ----------------------- Params  /  Parameter ------------------- */
  27.  
  28. namewidth=32
  29. datewidth=14
  30. namewidth=datewidth+30
  31.  
  32. CALL initLanguage
  33.  
  34. /* ----------------- Display Header / Kopf der Ausgabe ------------- */
  35.  
  36. head=msg.Header.LANG||DATE()
  37. SAY(head)
  38. SAY(COPIES('=',length(head)))
  39.  
  40.  
  41. /* ------------------------------ Output / Ausgabe ----------------- */
  42.  
  43. /* Sort Perons by Birth Month,Day  /  Menschen sortieren nach Geburtsmonat,Tag */
  44. rc=sortPersons('BM,BD,N,F')
  45.  
  46. /* Calculate actual year  /  Berechne aktuelles Jahr  */
  47. thisyear=WORD(DATE(),3)
  48.  
  49. /* Display persons in tree / Anzeigen der Menschen im Baum*/
  50.  
  51. rc=selectPerson('F')
  52. DO UNTIL rc=0
  53.  
  54.    /* Get month of Birth  /  Geburtstagmonat */
  55.    result=getBirthDate('m')
  56.  
  57.    /* Only if month is given / Nur wenn Monat bekannt */
  58.    IF result<>'?' THEN DO
  59.  
  60.       /* Get Day of Birth  /  Geburtstag */
  61.       day=getBirthDate('D')
  62.       IF day<>0 THEN
  63.          result=result||' '||day
  64.       result=LEFT(result,datewidth)
  65.  
  66.       /* Add Name,First name  /  plus Name,Vorname */
  67.       result=result||getName()||','||getFirstName()
  68.       result=LEFT(result,namewidth)
  69.  
  70.       /* Age this year  /  Alter in diesem Jahr */
  71.       year=getBirthDate('Y')
  72.       IF year<>0 THEN
  73.          result=result||' ('||thisyear-year||')'
  74.  
  75.       /* Output  /  Ausgabe */
  76.       SAY(result)
  77.    END
  78.  
  79.    /* Next one  /  Naechster */
  80.    rc=selectPerson('N')
  81. END
  82.  
  83. /* Done  /  Fertig */
  84. RETURN
  85.  
  86.  
  87. /* ---------------------- LANGUAGE INIT --------------------------- */
  88. InitLanguage:
  89.  
  90.    /* Calculate Language Index */
  91.    lang='E'                              /* Default -> [E]nglish */
  92.    IF getLanguage()='Deutsch' THEN       /* Deutsch -> [G]erman */
  93.       lang='G'
  94.    IF getLanguage()='Nederlands' THEN    /* Nederlands -> [D]utch */
  95.       lang='D'
  96.    IF getLanguage()='Francais' THEN       /* Francais -> [F]rench */
  97.       lang='F'
  98.  
  99.    /* [E]nglish Messages */
  100.    msg.Header.E='Birthday List (age this year) '
  101.  
  102.    /* [G]erman Messages */
  103.    msg.Header.G='Geburtstagsliste (Alter in diesem Jahr) '
  104.  
  105.    /* [D]utch Messages */
  106.    msg.Header.D='Birthday List (age this year) '
  107.  
  108.    /* [F]rench Messages */
  109.    msg.Header.F="Liste des Dates de Naissance (Age cette année). Nous sommes le "
  110.  
  111.    /* Done */
  112.    RETURN
  113.  
  114.  
  115.